//
//$Id: qap_ga_omp.cpp 441 2010-04-09 17:27:20Z Oleg.Bulychov $
#include "stdafx.h"

#include "projects/qap/ga/qap_ga.h"
#include "solvers/ga/ga_omp.h"
#include "src/heo/include/run_omp.h"

typedef QAP_Problem         TProblem;
typedef QAP_Solution        TSolution;
typedef QAP_Config          TConfig;

typedef Environment<TProblem, TSolution, TConfig>  TEnvironment;

typedef struct GA_Traits<TEnvironment>              TTraits;
typedef GA_OMP<TTraits>                             TSolver;

static struct ga_register
{
    ga_register()
    {
        TSolver::register_Selection< ga::selection::tournament_selection >();
        TSolver::register_Selection< ga::selection::roulette_selection >();
        TSolver::register_Selection< ga::selection::random_selection >();

        TSolver::register_Operator< ga::inter_operator::crossover>();
        TSolver::register_Operator< ga::inter_operator::mutation>();
    }
} reg;

int main(int argc, char* argv[])
{
    return Run_OMP<TSolver>(argc, argv);
}
//EOF!
